program VIROM;

uses crt;
var k, g, f, b: integer;

BEGIN
clrscr;
writeln(' TAILLE MEMOIRE A LIRE (en k-octets) ? ');
readln(k);
k:=(k*1024)-1;
writeln;
writeln(' ATTENTION ! LE +5V DOIT ETRE COUPE ! ');
port[888]:=64;
writeln('CONNECTER LA MEMOIRE A LIRE, puis presser ENTER');
readln;
clrscr;
writeln(' APPLIQUER LE +5V, puis presser ENTER ');
readln;
writeln;
writeln('--------- TEST DE VIRGINITE EN COURS ----------');
for g:=0 to k do        {boucle de lecture de toutes les adresses}
    begin
    for f:=0 to 7 do
        begin
        port[888]:=f;
        delay(25);  {tempo necessaire vu la vitesse du PC}
        b:=port[889];
        if (b and 64)<>64 then write('*');{si bit lu <>1 (ack=1*64)=>erreur}
        end;
    port[888]:=32;
    end;
writeln;
writeln(' OPERATION DE TEST VIRGINITE TERMINEE ');
writeln(' COUPER LE +5V ');
writeln(' puis retirer la m‚moire ');
writeln(' TAPER ENTER POUR SORTIR DU PROGRAMME ');
readln;
END.
